'''
练习1：
打印九九乘法表
'''
# for i in range(1,10):
#     for j in range(1,i+1):
#         print(f'{j}*{i}={j*i}',end='\t' )
#     print()


'''
练习2：
定义一个列表，元素如下：8,4,2,1,23,344,12
实现如下功能：
    1.求数列中所有数值的和
    2.将最大值放到列表的最前面，最小值放到列表的最后面（其它元素位置不动）
'''

nums = [8,4,2,1,23,344,12]
# sum=0
# # 求和
# for i in nums:
#     sum += i
# print(f'所有数值的和:{sum}')

# 排列
# 1.先找到最大值和最小值所在的位置
maxIndex = minIndex = 0 # 假设索引为0的元素，既是最大值也是最小值
i = 0
while i<len(nums):
    if nums[i] > nums[maxIndex]:
        maxIndex = i
    if nums[i] < nums[minIndex]:
        minIndex = i
    i+=1
print(maxIndex,minIndex)

# 2.交换位置
# nums[maxIndex]、nums[0]
# temp = nums[0]
# nums[0] = nums[maxIndex]
# nums[maxIndex] = temp
nums[0],nums[maxIndex] = nums[maxIndex],nums[0]

# nums[minIndex]、nums[-1]
# temp = nums[-1]
# nums[-1] = nums[minIndex]
# nums[minIndex] = temp
nums[-1],nums[minIndex] = nums[minIndex],nums[-1]

print(nums)



'''
练习3：
提示用户输入任意一段内容，采用倒叙的方式将内容输出
如， 输入：welcome to python
    输出：nohtyp ot emoclew
'''
# content = input('请输入任意一段内容：')
# i = len(content)-1
# reverse = ''
# while i >= 0:
#     reverse += content[i]
#     i -= 1
# print(reverse)
# print(content[::-1])



'''
练习4：
打印出所有的 "水仙花数 "，所谓 "水仙花数 "是指一个三位数，其各位数字立方和等于该数本身。
如：153是一个 "水仙花数 "，因为153=1的三次方＋5的三次方＋3的三次方。   
'''
# for i in range(100,1000):
#     a = i%10
#     b = i//10%10
#     c = i//100
#     if i == a**3 + b**3 + c**3:
#         print(i)

'''
练习5：
一球从100米高度自由落下，每次落地后反跳回原高度的一半；再落下，求它在第10次落地时，共经过多少米？第10次反弹多高？ 
'''
h = 100
sum = h
for i in range(1,10):
     sum +=h
     h /= 2
print(f'共经过：{sum}')
print(f'第十次高度:{h/2}')